home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / newsgrp / group94b.txt / 000036_icon-group-sender _Fri Sep 2 15:55:03 1994.msg < prev    next >
Internet Message Format  |  1995-02-09  |  4KB

  1. Received: by cheltenham.cs.arizona.edu; Fri, 2 Sep 1994 14:15:13 MST
  2. To: icon-group-l@cs.arizona.edu
  3. Date: 2 Sep 1994 15:55:03 -0400
  4. From: nmw@ios.com (Nick Williams)
  5. Message-Id: <347vun$qkb@ios.com>
  6. Organization: Internet Online Services
  7. Sender: icon-group-request@cs.arizona.edu
  8. References: <1994Aug30.140940.5002@midway.uchicago.edu>, <33vlde$95i@ios.com>, <1994Aug31.140111.22639@midway.uchicago.edu>
  9. Subject: Re: Icon - still alive??
  10. Errors-To: icon-group-errors@cs.arizona.edu
  11.  
  12. In article <1994Aug31.140111.22639@midway.uchicago.edu>,
  13. Richard L. Goerwitz <goer@midway.uchicago.edu> wrote:
  14. >In article <33vlde$95i@ios.com> nmw@ios.com (Nick Williams) writes:
  15.  
  16. >>I could deal with loadfunc really (as one of the examples in the IPL
  17. >>demonstrates), but some things (setenv() comes to mind...) should be
  18. >>standard. If the presence of more system dependent features makes Icon
  19. >>programs non-portable, then they can be put in separate libraries along
  20. >>with LARGE warnings...
  21.  
  22. >Sounds perfectly ghastly - using Icon for something it wasn't really
  23. >intended.
  24.  
  25. What was Icon intended for then? Is it supposed to allow highly portable
  26. programming by putting huge restrictions on what Icon programmers can
  27. do? I bet not (why else would there be a preprocessor?, or &features for
  28. that matter?). Frankly, Icon needs better access to system dependent
  29. features (how dependent is setenv anyways? not much more than is getenv,
  30. and that is already part of the standard set of functions), after all,
  31. I don't always wish to write portable code because, after all, there are
  32. some large differences between the various OS's that Icon runs under
  33. (some irreconciliable, or which mean one OS is a much better choice for
  34. a certain type of applications [e.g. Unix is better than DOS if you want
  35. to write and run servers and still be able to use the machine for other
  36. things]).
  37.  
  38. Forcing programmers to go hack the RTL code from which icont and iconc
  39. are made or to write C function wrappers to system routines (plus Icon
  40. wrappers as well), then relink the relevant libraries and executables
  41. (or use loadfunc()) just to make them think twice before they use a
  42. system dependent function is CRAZY! If the reason that is the way
  43. things are has more to do with the fact that Icon is still being
  44. developed, then fine, but it is something that ought to change.
  45.  
  46. Besides, Icon could turn out to be useful for more than just processing
  47. text (why are graphics facilities would have been added otherwise?).
  48.  
  49. >           The most that I personally would like to see is a solution
  50. >to the problem of calling C functions from Icon.  At least this would
  51. >let each language do what it does without interference from the other.
  52. >Trouble is that the memory management would, at times, conflict (e.g.
  53. >if malloc is called).
  54.  
  55. So perhaps Icon should provide a replacement for malloc for C functions
  56. linked or loaded in (a malloc() that allocates space that is not subject
  57. to garbage collection!, and a free() too of course).
  58.  
  59. >Of course all of this is predicated on resources, and right now the
  60. >Icon Project seems absorbed in graphics extensions (which is great).
  61. >If improvements are to be made to Icon's C calling interface, this will
  62. >need to come from outside, at least for now.
  63.  
  64. Indeed, and why are they putting in graphics extensions? because they
  65. are *useful* to have (though _I_ don't use them often); the same would
  66. apply to adding fork(), exec() and the like (system() is portable, but
  67. limiting, not to mention dangerous).
  68.  
  69. >-- 
  70. >
  71. >   -Richard L. Goerwitz              goer%midway@uchicago.bitnet
  72. >   goer@midway.uchicago.edu          rutgers!oddjob!ellis!goer
  73.  
  74. BTW, the whole world of programming/computing/administrating is ghastly ;-)
  75.  
  76. Nick
  77.